/*
    Project: OCMF (Operant Chamber Management Framework)
    Version: 1.0
    Author: Copyright (C) 2010, Samuel Delaney & Andrew Harvey
    Licence:
        This file is part of OCMF.

            OCMF is free software: you can redistribute it and/or modify
            it under the terms of the GNU General Public License as published by
            the Free Software Foundation, either version 3 of the License, or
            (at your option) any later version.

            OCMF is distributed in the hope that it will be useful,
            but WITHOUT ANY WARRANTY; without even the implied warranty of
            MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
            GNU General Public License for more details.

            You should have received a copy of the GNU General Public License
            along with OCMF.  If not, see <http://www.gnu.org/licenses/>.
*/

#include "Delay.h"

Delay::Delay(QDomElement delayElement, Action * parentAction):Action()
{
    if(delayElement.attribute("WaitFor") == "Duration"){
        waitForNosePoke = false;
        Duration = delayElement.attribute("Duration").toInt(NULL,10);
    }
    else
        waitForNosePoke = true;
}

void Delay::Do()
{
    //log result
    Action::WriteResult(ToResultXml());


}

QDomElement Delay::ToResultXml()
{
    QDomElement delayXmlElement;

    //set tag name
    delayXmlElement.setTagName("Delay");

    //set attributes
    delayXmlElement.setAttribute("TimeStamp", TimeStamp.toString(Qt::ISODate));

    if(waitForNosePoke)
        delayXmlElement.setAttribute("WaitFor", "NosePoke");
    else{
        delayXmlElement.setAttribute("WaitFor", "Duration");
        delayXmlElement.setAttribute("Duration", duration);
    }

    //return by value
    return delayXmlElement;
}
